// VERTEX_SHADER:
+// blend.glsl
void main() {
gl_Position = u_projection * u_modelview * vec4(aPosition, 0.0, 1.0);
}
// FRAGMENT_SHADER:
+// blend.glsl
+
uniform int u_mode;
uniform sampler2D u_source2;
// VERTEX_SHADER:
+// blit.glsl
void main() {
gl_Position = u_projection * u_modelview * vec4(aPosition, 0.0, 1.0);
}
// FRAGMENT_SHADER:
+// blit.glsl
+
void main() {
vec4 diffuse = GskTexture(u_source, vUv);
// VERTEX_SHADER:
+// blur.glsl
+
uniform float u_blur_radius;
uniform vec2 u_blur_size;
uniform vec2 u_blur_dir;
}
// FRAGMENT_SHADER:
+// blur.glsl
+
_IN_ vec2 pixel_step;
_IN_ float pixels_per_side;
_IN_ vec3 initial_gaussian;
// VERTEX_SHADER:
+// border.glsl
+
uniform vec4 u_widths;
uniform vec4[3] u_outline_rect;
}
// FRAGMENT_SHADER:
+// border.glsl
+
uniform vec4[3] u_outline_rect;
_IN_ vec4 final_color;
// VERTEX_SHADER:
+// color.glsl
+
_OUT_ vec4 final_color;
void main() {
}
// FRAGMENT_SHADER:
+// color.glsl
+
_IN_ vec4 final_color;
void main() {
// VERTEX_SHADER:
+// color_matrix.glsl
void main() {
gl_Position = u_projection * u_modelview * vec4(aPosition, 0.0, 1.0);
}
// FRAGMENT_SHADER:
+// color_matrix.glsl
+
uniform mat4 u_color_matrix;
uniform vec4 u_color_offset;
// VERTEX_SHADER:
+// coloring.glsl
+
_OUT_ vec4 final_color;
flat _OUT_ int use_color;
}
// FRAGMENT_SHADER:
+// coloring.glsl
_IN_ vec4 final_color;
flat _IN_ int use_color;
// VERTEX_SHADER
+// conic_gradient.glsl
+
uniform vec4 u_geometry;
_NOPERSPECTIVE_ _OUT_ vec2 coord;
}
// FRAGMENT_SHADER:
+// conic_gradient.glsl
+
#ifdef GSK_LEGACY
uniform int u_num_color_stops;
#else
// VERTEX_SHADER:
+// cross_fade.glsl
void main() {
gl_Position = u_projection * u_modelview * vec4(aPosition, 0.0, 1.0);
}
// FRAGMENT_SHADER:
+// cross_fade.glsl
+
uniform float u_progress;
uniform sampler2D u_source2;
// VERTEX_SHADER:
+// custom.glsl
+
void main() {
gl_Position = u_projection * u_modelview * vec4(aPosition, 0.0, 1.0);
vUv = vec2(aUv.x, aUv.y);
}
// FRAGMENT_SHADER:
+// custom.glsl
+
// The shader supplies:
void mainImage(out vec4 fragColor, in vec2 fragCoord, in vec2 resolution, in vec2 uv);
// VERTEX_SHADER:
+// inset_shadow.glsl
+
uniform float u_spread;
uniform vec2 u_offset;
uniform vec4[3] u_outline_rect;
}
// FRAGMENT_SHADER:
+// inset_shadow.glsl
+
_IN_ vec4 final_color;
_IN_ _GSK_ROUNDED_RECT_UNIFORM_ transformed_outside_outline;
_IN_ _GSK_ROUNDED_RECT_UNIFORM_ transformed_inside_outline;
// VERTEX_SHADER
+// linear_gradient.glsl
uniform vec4 u_points;
_NOPERSPECTIVE_ _OUT_ vec4 info;
}
// FRAGMENT_SHADER:
+// linear_gradient.glsl
+
#ifdef GSK_LEGACY
uniform int u_num_color_stops;
#else
// VERTEX_SHADER:
+// outset_shadow.glsl
+
uniform vec4[3] u_outline_rect;
_OUT_ vec4 final_color;
}
// FRAGMENT_SHADER:
+// outset_shadow.glsl
+
_IN_ vec4 final_color;
_IN_ _GSK_ROUNDED_RECT_UNIFORM_ transformed_outline;
void main() {
vec2 frag = gsk_get_frag_coord();
-
float alpha = GskTexture(u_source, vUv).a;
+
alpha *= (1.0 - clamp(gsk_rounded_rect_coverage(gsk_decode_rect(transformed_outline), frag), 0.0, 1.0));
vec4 color = final_color * alpha;
// VERTEX_SHADER
+// radial_gradient.glsl
+
uniform vec4 u_geometry;
_NOPERSPECTIVE_ _OUT_ vec2 coord;
}
// FRAGMENT_SHADER:
+// radial_gradient.glsl
+
#ifdef GSK_LEGACY
uniform int u_num_color_stops;
#else
// VERTEX_SHADER:
+// repeat.glsl
void main() {
gl_Position = u_projection * u_modelview * vec4(aPosition, 0.0, 1.0);
}
// FRAGMENT_SHADER:
+// repeat.glsl
+
uniform vec4 u_child_bounds;
uniform vec4 u_texture_rect;
// VERTEX_SHADER:
+// unblurred_outset_shadow.glsl
+
uniform float u_spread;
uniform vec2 u_offset;
uniform vec4[3] u_outline_rect;
}
// FRAGMENT_SHADER:
+// unblurred_outset_shadow.glsl
_IN_ vec4 final_color;
_IN_ _GSK_ROUNDED_RECT_UNIFORM_ transformed_outside_outline;
_IN_ _GSK_ROUNDED_RECT_UNIFORM_ transformed_inside_outline;